import { request } from "../../request/request.js"
Page({

  /**
   * 页面的初始数据
   */
  data: {
    //设置标题数据
    Tabs: [{
      id: 0,
      text: "综合",
      isAction: true
    }, {
      id: 1,
      text: "销量",
      isAction: false
    }, {
      id: 2,
      text: "价格",
      isAction: false
    }],
    goodsList: []
  },
  // 接口要的参数
  QueryParams: {
    query: "",
    cid: "",
    pagenum: 1,
    pagesize: 10
  },
  //总页数
  totalPages:1,
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.QueryParams.cid = options.cid || "";
    this.QueryParams.query = options.query || "";
    this.getGoodDate();
  },
  //获取商品列表数据
  async getGoodDate() {
    //异步请求数据
    const res = await request({ url: "/goods/search", data: this.QueryParams });
    //获取总条数
    const total = res.data.message.total;
    //设置总页数   总条数/页容量 取最大整数
    this.totalPages = Math.ceil(total/this.QueryParams.pagesize); 
    // 保存数据, 扩展运算符
    this.setData({
      goodsList:[...this.data.goodsList, ...res.data.message.goods]
    })
    //停止下拉刷新效果
    wx.stopPullDownRefresh();
  },
  //标题点击事件，从子组件传递过来
  tabsItemChange(e) {
    //获取子组件，URL传参方式传过来的参数
    const { index } = e.detail;
    //更新数据
    let { Tabs } = this.data;
    Tabs.forEach((v, i) => i === index ? v.isAction = true : v.isAction = false);
    this.setData({
      Tabs
    })
  },
  onReachBottom:function() {
    // 加载新的一页，页数+1
    this.QueryParams.pagenum += 1;
    //判断数据是否到底，没有则加载新的数据，反正则进行提示
    if(this.totalPages>=this.QueryParams.pagenum){
      this.getGoodDate();
    }else{
      wx.showToast({
        title: '已经到底啦！'
      });
    }
  },
  //下拉刷新
  onPullDownRefresh(){
    // 初始化数据
    //设置当前页数为1
    this.QueryParams.pagenum = 1;
    //重置商品列表数据
    this.setData({
      goodsList:[]
    })
    //发送请求，获取数据
    this.getGoodDate()
  }
})